1. Field of the Invention
The present invention relates to an interpolation of binary pictures, and more particularly, to an apparatus and method for interpolating binary picture information based on a context probable table, namely, by employing a context probable value of a context based-arithmetic encoding.
2. Discussion of Related Art
There is some difference between an original picture and a picture down-sampled and up-sampled after the down-sampling in case that the binary picture information is down sampled and then up sampled in performing a loss coding for picture information for the sake of a compression of binary picture information. Thus, in a process of the loss coding a picture of down-sampled small size is coded and a decoder decodes the picture of the small size to thereby perform an up-sampling for the picture in an original size. The loss coding is executed like this through the down and up sampling process. In the up-sampling process, a binary picture block of 4×4 or 8×8 having a low resolution is converted into a sampled binary picture block of 16×16 having a high resolution, by applying an interpolation to the up-sampling process.
There is presented a linear interpolating method, as a regularity of the existed interpolation process, in the Verification Model (VM) 8.0 described on WG11 under the ISO/IEC. In such linear interpolation method, in case the interior of an object is as ‘1’ and the exterior of the object is as ‘0’, and also in case that A, B, C and D in FIG. 1 are as known values, values of P1, P2, P3 and P4 should be decided. The P1, P2, P3 and P4 in FIG. 1 are pixels to be interpolated.
In such process, the values of P1, P2, P3 and P4 are decided by the following method.                P1: if (2*A+B+C+D>2) then ‘1’ else ‘0’        P2: if (A+2*+B+C+D>2) then ‘1’ else ‘0’        P3: if (A+b+2*C+D>2) the ‘1’ else ‘0’        P4: if (A+B+C+2*D>2) then ‘1’ else ‘0’        
That is to say, in P1, a value of pixel A most neighboring to P1 is multiplied by 2, then added to the rest known pixels, B, C and D, and then if its sum is more than 2, P1 becomes as ‘1’, if not, P1 is as ‘0’. In P1, P2, P3 and P4, a value of pixel B, C or D most neighboring to P2, P3 or P4 is respectively multiplied by 2, then each of the multiplied values is added to the rest known pixels and then if its sum is more than 2, it becomes as ‘1’, if not, P1 is as ‘0’.
In such conventional linear interpolation method, among pixels neighboring to an interpolating pixel, the number of pixels such as the interior of an object is compared to the number of pixels such as the exterior of the object, it is decided according to more number in the comparison result whether or not it is the interior of the object or the exterior of the object. In order to use more accurate method, there is provided a method that nearer pixel more influences upon the interpolating pixel according to an additional value based on a distance between the interpolating pixel and referring adjacent pixels.
Such linear interpolating method is to interpolate the picture information by considering the number of the interior and exterior pixels of four pixels adjacent to a coding pixel and multiplying its nearest pixel by 2. A correlation in such linear interpolating method is not accurate. Thus, considering that the correlation among pixels of neighboring natural pictures is high, using a statistical method capable of characterizing numerically the correlation among respective pixels is a method for performing more accurate interpolation, in case that a functional relation representing such correlation can not be defined.
In the context-based arithmetic encoding, a probability which pixels of a coding binary picture can have a value of ‘0’ or ‘1’, may be gotten by using pixels neighboring to a coding pixel. Namely, in case the coding pixel is ‘0’, a probability that a current pixel may be ‘0’ is experimentally gotten according to a distribution of the neighboring pixels. The arithmetic encoding is performed by employing such probability.
In order to get probable value of current pixels through a use of adjacent pixels, it is constructed context templates for deciding what adjacent pixels at which positions are used, to thereby get the probable values for the respective context templates.
FIGS. 2(a) and 2(b) show one embodiment of context templates.
Supposing in FIG. 2(a) that parts of oblique lines are pixels for unknown values and checkered parts are ‘1’ in its value, values of context indexes Cs may be obtained by the following, e.g.,                     C        =                ⁢                              C            ⁢                                                   ⁢            6            *                          2              6                                +                      C            ⁢                                                   ⁢            5            *                          2              5                                +                      C            ⁢                                                   ⁢            4            *                          2              4                                +                      C            ⁢                                                   ⁢            3            *                          2              3                                +                      C            ⁢                                                   ⁢            2            *                          2              2                                +                      C            ⁢                                                   ⁢            1            *                          2              1                                +                      C            ⁢                                                   ⁢            0            *                          2              0                                                              =                ⁢                              0            *                          2              6                                +                      1            *                          2              5                                +                      0            *                          2              4                                +                      1            *                          2              3                                +                      1            *                          2              2                                +                      0            *                          2              1                                +                      1            *                          2              0                                                              =                ⁢        45            
The probable values are in general floating values between 0 and 1, but there is much difficulty to process the floating values between 0 and 1 by using only software and hardware. The floating values between 0 and 1 are thus normalized to integer values, then used. Namely, the values between 0 and 1 are normalized to integer values between 1 and 65535. The number of arrayals constituting the probable table is decided by the number of pixels constituting a context template. If the number of pixels constituting the context template is N, the number of probable values is as 2N. In horizontal and vertical contexts used for scalable binary picture information, as shown in FIGS. 2(a) and 2(b), each of templates is constructed by 7 pixels, the number of the probable values thus is 128. Meanwhile, referring to the probable table on the ISO/IEC WG11 VM 8.0, it has the number of 256 for the probable values. Therefore, the first number of 128, context indexes from 0 to 127, is for the probable values of horizontal context template, and the rest number of 128, context indexes from 128 to 255, is for the probable values of vertical context template.
Accordingly, as a calculating result by the aforementioned expression, the context index C in FIG. 2(a) is 45, it is thus read an index value 45 on the probable table for the calculated context index. Namely, the probable table is constructed such as scalable_shape_intra[256]={65476, 64428, . . . , 2412, 35} on the ISO/IEC WG11 VM 8.0, and in reading the probable values, values between 0 and 127 are used in the horizontal interpolation and then values between 128 and 255 are used in the vertical scanning. In such a case, the scalable_shape_intra[45] may become the probable value for the above-mentioned context. For such a value, when the value is read from the probable table of VM 8.0 presented on ISO/IEC WG11, the value becomes ‘22794’. Since ‘22794’ is the probable value for a probability of the exterior of an object, a probable value for the interior of object becomes ‘65535−22794=42741’.
Such probable value is previously decided and commonly stored at coding and decoding apparatuses, and coding data using coded probable value is transmitted to the decoding apparatus. The decoding apparatus decodes the probable value for the received data.
As afore-mentioned, in a case of utilizing the context probable table used in the CAE, more accurate interpolation can be achieved than a conventional linear interpolation method. In using the context probable table used in the CAE coding method, when many experimental pictures have the same contexts for respective contexts, the number of cases that its pixels are as the interior and the exterior of an object, is checked in order to get a probability for which each of the contexts is as the interior of the object. In such context probable table, thus, the probable table is made not only including the number of pixels as the interior of object and pixels as the exterior of object, in adjacent pixels, but also including information for positions and a correlation. That is, the method for using such context probable table is to interpolate more accurately than the method for using only the number of pixels as the interior and exterior of the object of neighboring pixels.